import request from "../request";
import type { ApiResponse } from "../request";

export interface SendFileMessageRequestType {
  file: File;
  data: {
    sessionId?: string;
    model: string;
    enableDeepThink: boolean;
    searchNetwork: boolean;
    content?: string;
  };
}

export interface FileMessageResponse {
  sessionId: string;
  content: string;
  imageUrl?: string;
}

/**
 * 发送图片消息
 * 注意：文件上传必须使用multipart/form-data格式
 * 后端API期望的结构是两个顶级参数：file和data
 */
export const sendFileMessage = async (
  params: SendFileMessageRequestType
): Promise<ApiResponse<FileMessageResponse>> => {
  // 创建FormData对象
  const formData = new FormData();

  // 添加文件参数
  formData.append("file", params.file);

  // 添加data参数，data是一个JSON对象，需要转换为字符串
  formData.append("data", JSON.stringify(params.data));

  // 发送multipart/form-data请求
  return request.post("/ai/chat/image", formData);
};
